package dto

import "github.com/gogf/gf/v2/os/gtime"

// UserCreateInput 创建用户入参
type UserCreateInput struct {
	Username string
	Password string
	Mobile   string
	Nickname *string
	Email    *string
}

// UserLoginInput 用户登录入参
type UserLoginInput struct {
	Username   string
	Password   string
	DeviceType int
}

type UserLoginOutput struct {
	Id   uint
	Uuid string
}

// UserListInput 用户列表筛选条件
type UserListInput struct {
	Username string  // 账号
	Nickname string  // 昵称
	Mobile   string  // 手机号
	Email    *string // 电子邮箱
	Status   uint    // 状态 0-禁用 1-启用
}

// UserUpdateInput 更新用户入参
type UserUpdateInput struct {
	Id        string
	Mobile    string
	Email     *string
	Nickname  *string
	UpdatedAt *gtime.Time
}

// UserResetPasswordInput 重置密码入参
type UserResetPasswordInput struct {
	Username       string `json:"username"`       // 账号
	OldPassword    string `json:"oldPassword"`    // 当前密码
	NewPassword    string `json:"newPassword"`    // 新密码
	RepeatPassword string `json:"repeatPassword"` // 重复密码
}

// UserCanAccessApi 用户是否可以访问api接口 入参
type UserCanAccessApi struct {
	UserId    uint   `json:"userId"`    // 用户Id
	ApiRoute  string `json:"apiRoute"`  // api地址
	ApiMethod uint   `json:"apiMethod"` // api动作 1-get 2-post 3-put 4-delete
}
